High Precision Computation of Elementary Functions in Maple
نویسنده
چکیده
Some methods being used to speed up floating-point computation in Maple are described. Specifically, we discuss the evaluation of the elementary functions square root and logarithm. We also describe the correct rounding of these evaluations. The key efficiency improvement is called progressive precision increase. 1 High Precision Computations in Maple One of the advantages of computer-algebra systems for scientific computation is the easy way in which traditional approximate numerical computation can be combined with symbolic computation and with high-precision approximate numerical computation. Developments in this field have been given a further stimulus by the realization that many sets of equations coming from engineering or science are not exact, but contain coefficients that are known only approximately. Even if a system of equations is known exactly, there are enormous speed-ups possible if the analysis of the system can be shifted to the approximate numerical domain. As a result of the need for more access to high-precision computation, the support offered by Maple for this area is being improved, and the basis for some of this work is described here. A person wanting high-precision arithmetic has many systems available in addition to the computeralgebra systems. The public domain GMP package [7] is a well known example. It is therefore worth asking at the outset whether one should devote time to developing high-precision approximate arithmetic for computer-algebra systems. There is the obvious commercial reason: customers want the functionality and do not want to learn GMP. In addition, however, the spread of approximate arithmetic into settings where traditionally exact computation was the only option, means that symbolic computation needs its own multi-precision arithmetic available within the system, not through an external call to a helper system. The next issue that arises is connected with the fact that Maple uses a decimal-based number system, whereas GMP and other packages, including computer IEEE hardware arithmetic, use the binary system. The suggestion has therefore been made that Maple and other computer-algebra systems should strip out their present implementations of approximate arithmetic and convert to GMP. Logical and appealing though this be to supporters of GMP, there is no possibility that any commercial software system will do this within the foreseeable future. Therefore the assumption of this paper is that high-precision arithmetic needs to be developed and improved for an existing system such as Maple within the framework already in place inside that system. We review some relevant facts about floating-point arithmetic in Maple. Maple has 2 floating-point number systems: hardware-floats, which are de facto the binary IEEE double-precision numbers currently supported by computer manufacturers, and software-floats, also called Maple floats, which are the ones that support arbitrary precision arithmetic in exact and approximate modes. Most of the elementary functions can be computed as hardware-floats. The functionality of hardware floats is derived from the underlying hardware and the C compilers used on the particular operating system platform to compile Maple. A visible consequence of this is seen in the evaluation of the function call evalhf(Digits). Maple, in response to this function call, returns the number of decimal digits that it thinks the current hardware and software platform can reliably deliver to Maple, and hence the user. It should be noted that this number varies between the operating systems currently available. Users who have access to Maple on Windows and Unix systems might find it interesting to experiment with this function. At any point in time, the floating-point environment in Maple is controlled by the global variable Digits, which controls the number of decimal digits retained in the mantissa of any (software) floatingpoint number. Maple’s floating-point model assumes that a floating point number A is evaluated to the accuracy specified by Digits prior to being accepted as a parameter, even if A is actually known to more digits than the current setting. The problem then is to evaluate a given floating-point expression. When
منابع مشابه
Reciprocation, Square Root, Inverse Square Root, and Some Elementary Functions Using Small Multipliers
ÐThis paper deals with the computation of reciprocals, square roots, inverse square roots, and some elementary functions using small tables, small multipliers, and, for some functions, a final alargeo (almost full-length) multiplication. We propose a method, based on argument reduction and series expansion, that allows fast evaluation of these functions in high precision. The strength of this m...
متن کاملDouble sub-equation method for complexiton solutions of nonlinear partial differential equations
A double sub-equation method is presented for constructing complexiton solutions of nonlinear partial differential equations (PDEs). The main idea of the method is to take full advantage of two solvable ordinary differential equations with different independent variables. With the aid of Maple, one can obtain both complexiton solutions, combining elementary functions and the Jacobi elliptic fun...
متن کاملReconfigurable High Throughput Function Evaluation for Virtex-2 FPGA
A reconfigurable architecture for efficient computation of several elementary functions in double precision floating-point format is presented in this paper. These functions, used in scientific computing, must be computed quickly and accurately, which can only be achieved on certain hardware implementations. The most widely used methods to evaluate elementary functions are based on polynomial a...
متن کاملStokes-Flow Problem Solved Using Maple
An unusual boundary-value problem that arises in a fluidmechanical application is solved to high precision, as a challenge problem in scientific computation. A second-order differential equation must be solved on (0,∞), subject to boundary conditions that specify only the asymptotic behaviour of the solution at the two ends of the solution domain. In addition, the solution is required to high a...
متن کاملFast Multiprecision Evaluation of Series of Rational Numbers
We describe two techniques for fast multiple-precision evaluation of linearly convergent series, including power series and Ramanujan series. The computation time for N bits is O((logN)M(N)), whereM(N) is the time needed to multiply twoN -bit numbers. Applications include fast algorithms for elementary functions, π, hypergeometric functions at rational points, ζ(3), Euler’s, Catalan’s and Apéry...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2002